class Solution {//leetcode814——二叉树剪枝
public:
    TreeNode* dfs(TreeNode* root){
        //如果左子树和右子树都为0，加上本身节点也为0,那么这个树就该被剪枝
        if(root==nullptr) return nullptr;

        root->left=dfs(root->left);
        root->right=dfs(root->right);

        if(root->left==nullptr&&root->right==nullptr&&root->val==0){
            return nullptr;
        }
        return root;
    }
    TreeNode* pruneTree(TreeNode* root) {
        TreeNode* ret=dfs(root);
        return ret;
    }
};